The present disclosure relates to data transfers, and more specifically, to negotiated, or coordinated data transfers.
A variety of different ways exist to exchange files and other data between two systems. One example way can involve negotiated, or coordinated, data transfers. A client system, or sending system, schedules a data transfer with a server system, or receiving system, and at the scheduled time the client system transmits the data to the server system which stores the transferred data in a designated storage location. In such an environment, user data transfers occur as do meta-transfers. These meta-transfers relate to exchanging meta-data about the data transfers that are scheduled, ongoing, or completed. Data transfers of user data can include file transfers, executable job transfers, and report transfers.
At the receiving end, a plurality of receiving systems can form a pool of available systems to receive a data transfer from a sending system. One result of scheduling a particular data transfer and exchanging meta-data about that transfer is that one particular receiving system can be selected for the transfer of user data. That one particular receiving system can be selected based on how busy each of the plurality of receiving systems is in order to select the receiving system which is least busy. However, to perform these scheduling and selecting activities, a separate administrative server is used that acts as a communications middleman between the plurality of receiving systems and the sending system. In particular, messages are sent from the sending system to the administrative server and, based on what it receives, the administrative server determines what and how to communicate with the plurality of receiving systems. Any responses from the plurality of receiving systems are delivered to the administrative server which, then determines how to appropriately communicate the information in those responses to the sending system.